import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { testService } from './test.service';
import { UserModule } from './modules/user/user.module';
import { AuthModule } from './modules/auth/auth.module';
import { BookModule } from './modules/book/book.module';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AuthService } from './modules/auth/auth.service';
import { MenuModule } from './modules/menu/menu.module';
import { AuthController } from './modules/auth/auth.controller';
import { UserController } from './modules/user/user.controller';
import { IpModule } from './modules/ip/ip.module';
@Module({
  imports: [
    TypeOrmModule.forRoot({
      type: 'mysql',
      host: 'localhost',
      port: 3306,
      username: 'root',
      password: '123456',
      database: 'vban-nest',
      // entities: [__dirname + '/**/*.entity{.ts,.js}'], // 自动加载所有实体
      synchronize: true, // 自动同步 开发环境开启，生产环境要关闭！ 这里表已经有数据了 先不开启
      // logging: true, // 显示SQL日志，便于调试
      autoLoadEntities: true, // 自动加载所有实体
    }),
    UserModule,
    AuthModule,
    BookModule,
    MenuModule,
    IpModule,
  ],
  // 控制器
  controllers: [AppController, AuthController, UserController],
  // 服务层 (官网译为提供器)  在列表中注册之后就可以去controller中注入
  providers: [AppService, testService, AuthService],
})
export class AppModule {}
